import { defineStore } from 'pinia';
import { ref } from 'vue';

export const useMenuStore = defineStore('menu', () => {
  // 菜单折叠状态，默认展开
  const isCollapse = ref(false);

  // 当前激活的菜单，默认为工作台
  const activeMenu = ref('/dashboard');

  // 初始化菜单状态
  const initMenuState = () => {
    // 默认展开菜单，不读取localStorage
    isCollapse.value = false;

    // 从localStorage读取当前激活的菜单，如果没有则默认为工作台
    const savedActiveMenu = localStorage.getItem('activeMenu');
    if (savedActiveMenu) {
      activeMenu.value = savedActiveMenu;
    } else {
      // 默认激活工作台菜单
      activeMenu.value = '/';
      localStorage.setItem('activeMenu', '/');
    }
  };

  // 设置菜单折叠状态
  const setCollapse = (status: boolean) => {
    isCollapse.value = status;
    // 不再缓存折叠状态
  };

  // 切换菜单折叠状态
  const toggleCollapse = () => {
    isCollapse.value = !isCollapse.value;
    // 不再缓存折叠状态
  };

  // 设置当前激活的菜单
  const setActiveMenu = (path: string) => {
    activeMenu.value = path;
    localStorage.setItem('activeMenu', path);
  };

  return {
    isCollapse,
    activeMenu,
    initMenuState,
    setCollapse,
    toggleCollapse,
    setActiveMenu
  };
});
